The process of reducing the size of a data file is referred to as data compression. Data compression involves encoding information using fewer bits than the original representation. In the context of data transmission, the process may be referred to as source coding—encoding done at the source of the data before it is stored or transmitted. Data compression is useful because it reduces resources required to store and transmit data. Computational resources are consumed in the compression process, and typically, in the reversal of the process (decompression). The design of data compression schemes involves trade-offs among various factors including the degree of compression, the amount of distortion introduced (if lossy data compression is used), and the computational resources required to compress and decompress data.